Printing devices, such as printers, copy machines, and multi-function peripherals (MFPs) such as the Ricoh Aficio Color 6513 system, may or may not be equipped with the capability to understand Postscript commands. For example, a vendor might give its customers the option of purchasing a printing device with or without Postscript capability installed. Typically, a printing device with Postscript capability installed is considerably more expensive than the same printing device without Postscript capability installed. For this reason, many customers opt to purchase a printing device without Postscript capability installed.
This is typically not a problem when the customers are printing from applications that execute on Microsoft Windows operating systems. Typically, Windows printer drivers generate a print data stream that contains non-Postscript commands, such as Printer Command Language (PCL) commands or Printer Job Language (PJL) commands. Most commercially available printing devices are designed to understand PCL and PJL. Therefore, a printing device on which Postscript capability has not been installed (a “non-Postscript-enabled” printing device) usually does not have any problems understanding the commands in a print data stream generating by a Windows printer driver, because the commands are not Postscript commands.
An increasing number of people are migrating from Windows to other operating systems such as UNIX and Linux. Many of these people have already purchased non-Postscript-enabled printing devices that worked in conjunction with their Windows-configured computers. Unfortunately for these people, most implementations of UNIX and Linux only provide Postscript printer drivers. These printer drivers only generate Postscript commands, which a non-Postscript-enabled printing device is unable to understand or process.
Typically, a printer driver for a UNIX or Linux system comprises a Postscript Printer Description (PPD) file that is specifically designed for the printing device to which the system will be sending print data streams. The PPD file indicates, in a standard way, the features that the corresponding printing device supports. For example, if a printing device supports duplex, stapling, and punching features, then the PPD file for that printing device indicates this fact.
For some features, a user may choose one of several options when printing a document. For example the options that may be selected in conjunction with the duplex feature might be “off,” “short edge,” and “long edge.” For each option, the PPD file may indicate a corresponding Postscript command that should be sent to the printing device in order to cause the printing device to perform operations that correspond to that option. By consulting the PPD file, a computer's printing system can determine which Postscript commands to insert into a print data stream in order to instruct the printing device to perform operations in accordance with a user's selected options.
Existing PPD files do not solve the problems faced by owners of non-Postscript-enabled printing devices, because existing PPD files only enable Postscript commands to be inserted into a print data stream. Furthermore, these owners typically are not savvy enough in the art of printer drivers to modify their existing Postscript printer drivers to work in conjunction with their non-Postscript-enabled printing devices.
Vendors of non-Postscript-enabled printing devices could conceivably create UNIX and/or Linux printer drivers that produced commands that their non-Postscript-enabled printing devices could understand. However, such vendors are unlikely to do so in many circumstances because it often does not align with their economic interests.
Based on the foregoing, there is a need for a tool that automatically generates a printer driver that allows a user of a Postscript-oriented operating system, such as UNIX or Linux, to print to a non-Postscript-enabled printing device.